home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 23
/
Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso
/
Aminet
/
text
/
edit
/
GED_Hexedit.lha
/
GED_Hexedit
/
hex
/
english
/
searchbytes.ged
< prev
Wrap
Text File
|
1997-11-13
|
2KB
|
2 lines
/* Optimized with RexxOpt 1.8 */
OPTIONS RESULTS;if (LEFT(ADDRESS(),6) ~="GOLDED") then;address 'GOLDED.1';'LOCK CURRENT RELEASE=4';if (RC ~=0) then;exit;OPTIONS FAILAT 6;SIGNAL ON SYNTAX;'QUERY Var=Suchbytes Name=Find';parse arg start;if start=1 then;do;'REQUEST Body="Enter Bytes in Hexadecimalformat (max 16 Bytes):" Title="Input" Button="OK|Cancel" Var=Suchbytes Min=2 Max=32 String Old=' Suchbytes;if RC>0 then;do;'UNLOCK';exit;end;end;if length(Suchbytes)=0|length(Suchbytes)//2 ~=0 then;do;'REQUEST Body="It have to be entered each 2 hexadecimal digits" Title="Error" Button="OK"';'UNLOCK';exit;end;Suchbytes=Upper(Suchbytes);if verify(Suchbytes,'0123456789ABCDEF')~=0 then;do;'REQUEST Body="You can only enter hexadecimal digits (0...9 or a...f)" Title="Error" Button="OK"';'UNLOCK';exit;end;'QUERY Var=Startzeile Name=Line';'QUERY Var=Startspalte Name=Column';Z1=Startzeile;S1=Startspalte;Byteanz=length(Suchbytes)/2;Actbyte=left(Suchbytes,2);'QUERY Var=Anzzeilen Name=Lines';do forever;'FIND Next Quiet String='Actbyte;'QUERY Var=Z2 Name=Line';'QUERY Var=S2 Name=Column';if Z1=Z2&S1=S2 then;do;'GOTO Line='Startzeile;'GOTO Column='Startspalte;'REQUEST Body="Search bytes not found" Title="Result" Button="OK"';'SET Name=Find Value='Suchbytes;'UNLOCK';exit;end;if S2=11|S2=13|S2=15|S2=17|S2=20|S2=22|S2=24|S2=26|S2=29|S2=31|S2=33|S2=35|S2=38|S2=40|S2=42|S2=44 then;do;if Byteanz=1 then;do;'SET Name=Find Value='Suchbytes;'UNLOCK';exit;end;'QUERY Var=Inhalt Name=Buffer';t1=substr(Inhalt,S2,46-S2);t1=compress(t1);if length(t1)/2<Byteanz then;do;if Z2<Anzzeilen then;do;'DOWN';'QUERY Var=Inhalt Name=Buffer';'UP';'GOTO Column='S2;t=Byteanz-length(t1)/2;t2=compress(substr(Inhalt,11,2*t));t1=t1||t2;if t1=Suchbytes then;do;'SET Name=Find Value='Suchbytes;'UNLOCK';exit;end;end;end;else;do;if Suchbytes=left(t1,length(Suchbytes)) then;do;'SET Name=Find Value='Suchbytes;'UNLOCK';exit;end;end;end;Z1=Z2;S1=S2;end;SYNTAX:;SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-(";'UNLOCK';exit